package com.xoa.service.equipment;

import com.xoa.model.equipment.DataTree;
import com.xoa.model.equipment.LimsEquipOwnerlog;
import com.xoa.util.LimsJson;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;



public interface  EquipmentTransferService {
//    根据pid查询主设备code
    LimsJson selectBypid(Integer pid);

//    点击新增时回显的数据
    LimsJson deptExpp(HttpServletRequest request);

    //新增转移申请
    LimsJson addTransAppr(LimsEquipOwnerlog limsEquipOwnerlog, String ownerList, Integer logId);

    //查询设备列表
    LimsJson findequipBydept(Integer equipTypeId, Integer page, Integer limit, Integer deptId);
    //判断所选设备是否已被提交申请，并判断当前申请人是否以接收该设备
   LimsJson checkChooseEquip(HttpServletRequest request, String equipIds);

   //查询申请列表信息
   LimsJson selectOwnerLog(Integer page, Integer limit, String approvalStatus, String column, String inptext);

   //查询设备信息
   LimsJson findBylogId(Integer page, Integer limit, Integer ownerlogId);

   //删除设备信息含批量
    LimsJson delByKey(String ids);

    //删除申请信息包含其子表的数据
    LimsJson delBylogId(String logIds);

    //提交和审批
    LimsJson updStatus(String approvalStatus, String recUser, String logIds, String deptIds);

    //设备接收
    LimsJson updRecStatus(Integer ownerlogId, Integer ownerlistId, String receiveStatus,  String newPositionName);

    //设备转移管理
    LimsJson adminastorList(HttpServletRequest request, Integer page, Integer limit, String approvalStatus, String column, String inptext);

    //设备接收下拉列表(父类）
    List<DataTree> reciviList(HttpServletRequest request, Integer ownerlogId);

    //设备接收下拉(子类）
    LimsJson reciviChilList(Integer id);

    //编辑数据回显
    LimsJson editApprovalInfo(Integer ownerlogId);
    //修改申请表信息
    LimsJson editApproval(LimsEquipOwnerlog limsEquipOwnerlog);
    //接收人列表
    LimsJson selectRceInfo(HttpServletRequest request, Integer page, Integer limit, Map map, String column, String inptext);
    //接收部门查询
    LimsJson findRecDept(HttpServletRequest request);

    //设备台账转移记录
    LimsJson transferData(HttpServletRequest request, Integer limit, Integer page, Integer equipId, java.sql.Date transferDate, String originalDeptId, String newDeptId, String approvalStatus, String receiveStatus, String workflowNo, String inptext, String column);
}
